'''
参数
（1）*参数名：任意多个没有默认值参数（元组）
（2）**参数名：任意多个参数有默认值（字典）
返回值
变量作用域
（1）局部变量local
（2）全局变量loab
str.format(参数列表)，str{}
'''
#定义函数

#数值互换
def fnSwap(a,b):
    a,b = b,a
    print("x=%d,y=%d"%(a,b))

#求和
def fnSum(a,b):
    return a + b

#多个参数求和
def fnSum(*args):
    sumValue = 0
    if len(args) == 0:
        print("arguments is null!")
    else:
        for arg in args:
            sumValue += arg

    return sumValue

#学生信息打印
def fnPrintStu(**args):
    strValue = str()
    if len(args) == 0:
        print("arguments is null!")
    else:
        for key,value in args.items():
            strValue += "{0}:{1}".format(key,value) + "\t"

    print(strValue)


#变量作用域
def inVailValue():
    global yy
    yy = 1000


try:
    x,y = eval(input("input x,y:"))
    print("x=%d,y=%d"%(x,y))

    #函数调用
    fnSwap(x,y)
    
    #求和
    z = fnSum(x,y)
    print("sum=%d"%z)

    print("sum=%d"%fnSum(x,y,100))

    #学生信息打印
    fnPrintStu(id="f23015126")
    fnPrintStu(id="f23015126",name="huang")
    fnPrintStu(id="f23015126",name="huang",score=100)

    print("local-var:%d"%x)
    inVailValue()
    print("global-var:%d"%yy)
    yy = 10000
    print("global-var:%d"%yy)
    
    
except Exception as e:
    print(e)

